/*
 *
 * Copyright (c) 2013-2021, Alibaba Group Holding Limited;
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: TxnStream.proto

package com.aliyun.polardbx.binlog.protocol;

public interface TxnItemOrBuilder extends
    // @@protoc_insertion_point(interface_extends:com.aliyun.polardbx.binlog.protocol.TxnItem)
    com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * *
     * 1.traceId是分布式事务内，合并多个物理分片的事件时，进行排序的依据&lt;/br&gt;
     * 2.为了便于统一处理，不管是单机事务还是分布式事务都要求传入，并且要保证同一事务在同一物理分片的traceID单调递增 &lt;/br&gt;
     * 3.如果物理binlog中带有traceId标识，直接使用即可；如果物理binlog中不带有traceId标识，通过"时间戳+自增序列"手动生成 &lt;/br&gt;
     * </pre>
     *
     * <code>string traceId = 1;</code>
     *
     * @return The traceId.
     */
    java.lang.String getTraceId();

    /**
     * <pre>
     * *
     * 1.traceId是分布式事务内，合并多个物理分片的事件时，进行排序的依据&lt;/br&gt;
     * 2.为了便于统一处理，不管是单机事务还是分布式事务都要求传入，并且要保证同一事务在同一物理分片的traceID单调递增 &lt;/br&gt;
     * 3.如果物理binlog中带有traceId标识，直接使用即可；如果物理binlog中不带有traceId标识，通过"时间戳+自增序列"手动生成 &lt;/br&gt;
     * </pre>
     *
     * <code>string traceId = 1;</code>
     *
     * @return The bytes for traceId.
     */
    com.google.protobuf.ByteString
    getTraceIdBytes();

    /**
     * <code>string rowsQuery = 2;</code>
     *
     * @return The rowsQuery.
     */
    java.lang.String getRowsQuery();

    /**
     * <code>string rowsQuery = 2;</code>
     *
     * @return The bytes for rowsQuery.
     */
    com.google.protobuf.ByteString
    getRowsQueryBytes();

    /**
     * <pre>
     * *
     * 1.对应mysql的EventType
     * </pre>
     *
     * <code>int32 eventType = 3;</code>
     *
     * @return The eventType.
     */
    int getEventType();

    /**
     * <pre>
     * *
     * 1.二进制数据
     * </pre>
     *
     * <code>bytes payload = 4;</code>
     *
     * @return The payload.
     */
    com.google.protobuf.ByteString getPayload();
}
